// 常用公共样式

// ===== 页面布局 =====
.page-container {
  padding: 20px;
  background-color: #f5f7fa;
  min-height: calc(100vh - 100px);
}

.page-header {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
  padding: 16px 20px;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .05);
  
  .page-title {
    font-size: 18px;
    font-weight: 600;
    color: #303133;
    margin: 0;
  }
  
  .page-subtitle {
    font-size: 14px;
    color: #909399;
    margin-top: 8px;
  }
}

// ===== 表格页面布局 =====
.table-page-container {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .05);
  margin-bottom: 20px;
  
  .table-header {
    padding: 16px 20px;
    border-bottom: 1px solid #f0f0f0;
    
    .header-title {
      font-size: 16px;
      font-weight: 600;
      color: #303133;
    }
    
    .header-operations {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-top: 16px;
    }
  }
  
  .table-body {
    padding: 16px 20px;
  }
  
  .table-footer {
    padding: 10px 20px;
    border-top: 1px solid #f0f0f0;
    display: flex;
    justify-content: flex-end;
  }
}

// ===== 表单布局 =====
.form-container {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .05);
  padding: 20px;
  
  .form-header {
    margin-bottom: 24px;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 16px;
    
    .form-title {
      font-size: 16px;
      font-weight: 600;
      color: #303133;
    }
  }
  
  .form-footer {
    margin-top: 24px;
    border-top: 1px solid #f0f0f0;
    padding-top: 16px;
    display: flex;
    justify-content: center;
    
    .footer-btn {
      margin: 0 10px;
    }
  }
}

// ===== 统计卡片 =====
.stats-card {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .05);
  padding: 16px;
  height: 100%;
  transition: all 0.3s;
  
  &:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .1);
  }
  
  .stats-icon {
    width: 48px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    margin-bottom: 16px;
    
    .icon {
      font-size: 24px;
      color: #fff;
    }
  }
  
  .stats-title {
    font-size: 14px;
    color: #909399;
    margin-bottom: 8px;
  }
  
  .stats-value {
    font-size: 24px;
    font-weight: 600;
    color: #303133;
    margin-bottom: 8px;
  }
  
  .stats-info {
    font-size: 12px;
    color: #909399;
  }
}

// ===== 信息项 =====
.info-item {
  margin-bottom: 16px;
  
  .info-label {
    font-size: 14px;
    color: #909399;
    margin-bottom: 8px;
  }
  
  .info-value {
    font-size: 14px;
    color: #303133;
  }
}

// ===== 按钮组 =====
.button-group {
  display: flex;
  align-items: center;
  
  .button-item {
    margin-right: 12px;
    
    &:last-child {
      margin-right: 0;
    }
  }
}

// ===== 标签样式 =====
.status-tag {
  padding: 4px 8px;
  border-radius: 2px;
  font-size: 12px;
  
  &.success {
    background-color: #f6ffed;
    border: 1px solid #b7eb8f;
    color: #52c41a;
  }
  
  &.warning {
    background-color: #fffbe6;
    border: 1px solid #ffe58f;
    color: #faad14;
  }
  
  &.danger {
    background-color: #fff2f0;
    border: 1px solid #ffccc7;
    color: #f5222d;
  }
  
  &.info {
    background-color: #f4f4f5;
    border: 1px solid #e9e9eb;
    color: #909399;
  }
} 